我有一个Rails项目,我忽略了为其构建测试(很遗憾!),并且代码库已经变得相当大。我的一个friend说RSpec很难用,除非你从一开始就使用它。这是真的?是什么让他这么说?那么,考虑到可用的测试套件和代码库已经存在的事实,让这个东西可测试的最佳行动方案是什么?这真的与从头开始做有很大不同吗? 最佳答案 这个问题cameuprecently在RSpec邮件列表上,我们通常给出的建议是:除非您打算更改它,否则不要费心尝试将规范改造为现有的、有效的代码-这会让人筋疲力尽,而且除非代码需要更改,否则毫无意义。从现在起开始为您所做的任何更
我经常运行各种测试组,例如:raketest:unitsraketest:functionals我也喜欢运行单独的测试文件或单独的测试:ruby-Itesttest/unit/file_test.rbruby-Itesttest/unit/file_test.rb-n'/somecontextImworkingon/'还有:raketestTEST=test/unit/file_test.rb我什至在我的Rakefile中创建了自定义分组:Rake::TestTask.new(:ps3)do|t|t.libs我还没有弄清楚的是如何在命令行运行多个临时测试。换句话说,如何将test_fi
我编写了一个简单的类方法Buy.get_days(string),并尝试使用不同的文本字符串输入对其进行测试。但是我觉得它非常冗长。是否有更简洁的方法来测试以下内容?有没有相当于subjectformethods我可以继续传递输入不同的参数并检查结果?有没有办法避免在每个它处进行不必要的描述?谢谢describeBuydodescribe'.get_days'doit'shouldgetdays'doBuy.get_days('Includesa1-weeknightstayforupto4people').should==1endit'shouldgetdays'doBuy.get_
我在我的Rakefile中定义了以下RSpec(1.3.0)任务:require'spec/rake/spectask'Spec::Rake::SpecTask.new(:spec)do|spec|spec.libs我在spec/spec_helper.rb中有以下内容:require'rubygems'require'spec'require'spec/autorun'require'rack/test'require'webmock/rspec'includeRack::Test::MethodsincludeWebMockrequire'omniauth/core'我在spec/
我是编程新手(以前只学过html/css/design),想通过SimplyRails2这本书开始学习RoR。不过,我想从最新版本的Ruby(1.9.2)和Rails(3)所以我被迫在没有这本书的情况下配置所有内容。我通过谷歌和stackoverflow看了很多。当我运行railsserver时,它会自动使用Webrick,但我想使用Mongrel。我通过geminstallmongrel--pre安装了预发布的Mongrel并删除了以前的版本。我读到为了让Mongrel与railsserver一起工作,我不得不将gem'mongrel'添加到Gemfile,但我不知道我应该添加哪一个
我试着用谷歌搜索这个,但我还没有找到我的问题的答案。我正在尝试通过Rails运行一个简单的Controller脚本,但当我到达页面时出现此错误。ExecJS::RuntimeErrorinSay#hello显然Say是Controller,hello是方法。在页面的下方,我获得了有关该错误的更多信息。dyld:unknownrequiredloadcommand0x80000022(in/Users/JoeMoe/Sites/demoRails/app/assets/javascripts/say.js.coffee)我检查了这个文件,里面除了注释代码外什么都没有。这里应该有东西吗?这
我想在rspec中测试是否存在提交按钮。我也在用capybara。我试过:shouldhave_tag("input","Submitbutton")和shouldhave_content("Submit,button")但它要么引发异常,要么给出误报。 最佳答案 这些都是很好的建议,但是如果你想确认它是一个按钮并且它有正确的值(用于显示),你必须更详细一点:page.shouldhave_selector("input[type=submit][value='PressMe']")我不知道现有的匹配器可以做到这一点。这是我编写的自
我需要一个工具来测量Ruby下的测试覆盖率。我试过rcov,但无法在Windows、Cygwin或Ubuntu下安装它。哪些程序(不一定免费)计算Ruby测试的分支和/或行覆盖率并与RubyonRails一起工作? 最佳答案 Simplecov.Rcov在Ruby1.9.*下工作得不是很好,但simplecov可以。 关于ruby-on-rails-Ruby测试覆盖率工具,我们在StackOverflow上找到一个类似的问题: https://stackove
我在检查其shebang上有railsscript/runner的ruby脚本的语法时遇到问题。这里有两个示例脚本以及它们如何响应ruby语法检查:脚本hello_world_runner.rb:#!/usr/bin/envscript/runnerp"Helloworld!"脚本hello_world.rb#!/usr/bin/envrubyp"Helloworld!"这是我尝试检查语法的方法。第一行是命令,第二行是输出。$ruby-chello_world_runner.rb"Helloworld!"$ruby-chello_world.rbSYNTAXOK
我的Rails应用程序有一个网站爬虫,它加载爬虫在config/initializers中的Rails初始值设定项中使用的身份验证凭据。初始化程序通过调用SiteLogin模型中的模型方法来加载身份验证。当我运行rakedb:migrate来创建SiteLogin模型表时,它失败了,因为初始化程序期望数据库表已经存在。我可以简单地注释掉初始化程序中的代码,运行迁移以创建表,然后取消注释初始化程序代码,而不用担心这个问题。问题是,我正在使用Capistrano进行部署,这意味着我必须先在没有初始化代码的情况下进行部署以运行迁移,然后再使用初始化代码进行部署。有没有更好的方法来做到这一点,